28 matches found
CVE-2026-78676
GitPython versions before 3.1.59 are vulnerable to remote code execution via git-config injection. The root cause is unsafe re-serialization of multi-line git-config values during write operations: embedded newlines in quoted values are corrupted into live directives such as core.hooksPath . An a...
CVE-2026-67322
GitPython before 3.1.52 is vulnerable to environment-variable exfiltration in Repo.clone_from(). The clone URL is passed through Git.polish_url(), which on non-Cygwin platforms expands environment variables in the URL via os.path.expandvars(). An attacker-controlled clone URL can embed $NAME or $...
CVE-2026-67324
GitPython 3.1.50 contains a vulnerability where joined short options like -u are not recognized when enforcing the default unsafe-option gate. This allows an attacker-controlled clone to supply -u and bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper during...
CVE-2026-67323
GitPython < 3.1.51 is affected. The vulnerability stems from failing to guard against dangerous Git options passed as keyword arguments in Repo.archive() and git.ls_remote(), enabling command injection via options like --exec and --upload-pack. Additionally, Repo.iter_commits() and Repo.blame(...
CVE-2026-69097
GitPython before 3.1.53 fails to properly escape section names in git config files, enabling injection of arbitrary configuration directives (e.g., core.sshCommand) via malicious submodule names during create_submodule or clone_from. This can lead to remote code execution when Git performs SSH op...
CVE-2026-73620
GitPython 3.x has a vulnerability in which GitPython before 3.1.57 fails to guard git option forwarding in IndexFile.checkout() and TagReference.create(), allowing attackers to pass unsafe options via kwargs. This can enable --prefix to overwrite arbitrary files with repository content and -F to ...
CVE-2026-67325
GitPython before 3.1.51 is vulnerable to a command injection issue due to an incomplete blocklist that does not account for git’s long-option prefix abbreviation. Attackers can bypass the unsafe options guard by using abbreviated option names (for example, upload_p instead of upload_pack); Git re...
CVE-2026-73623
GitPython prior to 3.1.54 contains an incomplete denylist in unsafe_git_clone_options that omits --template, enabling attackers to achieve arbitrary command execution during clone operations. By supplying --template pointing to a directory with malicious post-checkout hooks, an attacker could tri...
CVE-2026-67326
GitPython prior to 3.1.50 fails to validate newline characters in the section parameter of config_writer(), allowing an attacker to inject arbitrary section headers into .git/config. Attackers can inject newlines to forge a [core] section with hooksPath pointing to attacker-controlled directories...
CVE-2026-44243
GitPython (Python library for interacting with Git repositories) contains a path-traversal vulnerability in its reference APIs. Before version 3.1.48, attacker-controlled reference names can be used to cause writes, renames, or deletions of files outside the repository’s .git directory due to ins...
CVE-2026-73625
GitPython before 3.1.54 contains a remote code execution vulnerability in the check_unsafe_options guard that can be bypassed by smuggling git options inside single-character kwarg values. Attackers can supply crafted option dictionaries to clone_from, fetch, pull, push, ls_remote, iter_commits, ...
CVE-2026-44244
CVE-2026-44244 (GitPython) : A newline injection in config_writer().set_value() allowed an attacker-controlled core.hooksPath to be injected via an unvalidated value, enabling RCE when Git hooks run (commit, merge, checkout). GitConfigParser.set_value() passes input to configparser without newlin...
CVE-2026-76219
GitPython before 3.1.58 allows arbitrary file overwrite via injection of the --index-output option into git read-tree in IndexFile.from_tree, reset, and merge_tree methods. With low privileges, attackers destroy content at writable paths. CVSS 8.1 HIGH. Upgrade to 3.1.58. No in-the-wild exploitat...
CVE-2026-73619
GitPython before 3.1.57 is affected by an incomplete denylist in the unsafe_git_archive_options guard, which omits the --add-file and --add-virtual-file options. This allows an attacker to craft calls to Repo.archive() that can read arbitrary files from the filesystem and include them in the resu...
CVE-2026-76222
GitPython (versions before 3.1.58) fails to sanitize submodule names read from .gitmodules files, enabling path traversal during submodule initialization. An attacker can craft a malicious repository with traversal sequences (e.g., ../) in submodule names, causing GitPython to create attacker-con...
CVE-2026-78677
GitPython before 3.1.59 omits the --separate-git-dir option from its unsafe_git_clone_options list, enabling a path traversal attack. An attacker can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, r...
CVE-2026-76218
GitPython before 3.1.58 has an RCE flaw in Repo.init that passes unvalidated git options, allowing attackers to inject a template directory with malicious hooks executed during subsequent git operations. Affected libraries should upgrade to 3.1.58 or later; no in-the-wild exploitation is reported...
CVE-2026-76221
GitPython before 3.1.58 is affected by a config-name injection vulnerability in the option-name validator. The validator fails to properly sanitize option names, allowing an attacker to inject equals signs, hash symbols, and whitespace to forge arbitrary git-config directives. A crafted option na...
CVE-2026-42284
GitPython (Python Git library) is affected by CVE-2026-42284 due to unsafe handling of multi_options in _clone() before 3.1.47. The code validates multi_options as the original list, then performs shlex.split(" ".join(multi_options)), which can allow a crafted string like "--branch main --config ...
CVE-2026-73621
GitPython vulnerability CVE-2026-73621 affects GitPython before 3.1.56. The Commit.count() method forwards keyword arguments to git rev-list without the check_unsafe_options guard present in iter_items, allowing an attacker who controls options (e.g., via an app forwarding a user-supplied dict) t...
CVE-2026-78675
GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, enabling a local file content disclosure attack. An attacker who can place a malicious .gitmodules file in a repository can craft [include] directives pointing to sensitive local files. When repo.submodules is acces...
CVE-2026-76217
GitPython versions before 3.1.58 do not validate options passed to git rm and git checkout in IndexFile.remove() and Head.checkout(). Attackers can inject --pathspec-from-file and --pathspec-file-nul parameters to read arbitrary files accessible to the process, with full contents returned in GitC...
CVE-2026-76220
GitPython before 3.1.58 allows arbitrary OS command execution: attackers bypass the check_unsafe_options guard by passing a single-character kwarg with split_single_char_options=False, crafting a joined token parsed as --upload-pack in guarded methods like clone_from, even at default allow_unsafe...
CVE-2026-78678
GitPython versions prior to 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits the --contents and -S options. An attacker with low privileges can supply crafted revision values (e.g., --contents=/etc/passwd) to the Repo.blame() method, enabling arbitrary fil...
CVE-2026-87817
GitPython before 3.1.60 is vulnerable to remote code execution via git directory impersonation . The library fails to properly validate the git directory location, allowing an attacker to impersonate the git directory using tracked files such as gitdir, commondir, and HEAD. The attack executes ar...
CVE-2026-87818
GitPython 3.1.59 fails to restrict the --no-index option in its high-level diff API, allowing an authenticated remote attacker to read arbitrary filesystem paths by passing them as repository operands. By combining --no-index with -I/--ignore-matching-lines , an attacker can build a content-depen...
CVE-2026-87819
GitPython before 3.1.60 is vulnerable to a regular expression denial of service (ReDoS) in the Actor.name_email_regex pattern used to parse commit author and committer fields. An attacker can craft a commit object with a malformed author field containing an unterminated angle bracket , triggering...